package com.bnz.pojo;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;

/**
 * 类名：
 * 作者：WF
 * 功能：
 */
@Data
public class Cart {
	//1. 定义购物车存放的所有商品
	private Map<String,CartItem> map = new HashMap<>();

	//2. 添加商品到购物车
	public void add(Product product) {
		//2.1 判断是否在map中有此商品，
		//2.1.1 得到商品id
		String pid = product.getPid();
		//2.1.2 判断map中购物项中是否有此商品
		if(map.containsKey(pid)){       // 有此商品就修改库存及商品数量
			//2.1.2.1 根据key得到购物项
			CartItem item = map.get(pid);
			//2.1.2.2 修改购买数量
			item.setNum(item.getNum() + 1);

		}else{                          // 没有此商品就添加到集合中
			// 2.1.3 构造要添加的购物项对象
			CartItem cartItem = new CartItem(product,1);
			// 2.1.4 添加到商品列表集合
			map.put(pid,cartItem);
		}
		//2.1.5 修改库存
		product.setQuantity(product.getQuantity() - 1);
	}
}
